package com.yilin.platform.service.system;

import com.yilin.platform.entity.system.TruckEnergyType;
import com.yilin.platform.entity.system.TruckPlate;
import com.yilin.platform.entity.system.TruckType;

import java.util.HashMap;
import java.util.List;

public interface IParamService {
    /**
     * 本方法仅限于generateBankInterbankNumber()使用其他地方请勿调用
     *
     * @return HashMap<省份ID, 省份名称>
     */
    static HashMap<String, String> getProvinceMap() {
        HashMap<String, String> map = new HashMap<>();
        map.put("1", "北京市");
        map.put("2", "天津市");
        map.put("3", "河北省");
        map.put("4", "山西省");
        map.put("5", "内蒙古自治区");
        map.put("6", "辽宁省");
        map.put("7", "吉林省");
        map.put("8", "黑龙江省");
        map.put("9", "上海市");
        map.put("10", "江苏省");
        map.put("11", "浙江省");
        map.put("12", "安徽省");
        map.put("13", "福建省");
        map.put("14", "江西省");
        map.put("15", "山东省");
        map.put("16", "河南省");
        map.put("17", "湖北省");
        map.put("18", "湖南省");
        map.put("19", "广东省");
        map.put("20", "广西壮族自治区");
        map.put("21", "海南省");
        map.put("22", "四川省");
        map.put("23", "重庆市");
        map.put("24", "贵州省");
        map.put("25", "云南省");
        map.put("26", "西藏自治区");
        map.put("27", "陕西省");
        map.put("28", "甘肃省");
        map.put("29", "青海省");
        map.put("30", "宁夏回族自治区");
        map.put("31", "新疆维吾尔族自治区");
        map.put("32", "台湾");
        map.put("33", "香港");
        map.put("34", "澳门");
        return map;
    }

    List<TruckEnergyType> getTruckEnergyTypeList(TruckEnergyType truckEnergyType);

    List<TruckPlate> getTruckPlateList(TruckPlate truckPlate);

    List<TruckType> getTreeTruckTypeList(TruckType truckType);

    void editTruckEnergyType(TruckEnergyType truckEnergyType);

    void editTruckPlate(TruckPlate truckPlate);

    void editTruckType(TruckType truckType);

    void deleteTruckEnergyType(TruckEnergyType truckEnergyType);

    void deleteTruckPlate(TruckPlate truckPlate);

    void deleteTruckType(TruckType truckType);

    List<TruckType> getTruckTypeList(TruckType.IsTrailer isTrailer);

    List<TruckEnergyType> getTruckEnergyTypeList();

    List<TruckPlate> getTruckPlateList();

    //通过车辆名称检索车辆类型
    List<TruckType> queryTruckTypeByName(String name);

    TruckEnergyType getTruckEnergyTypeByName(String name);

    TruckType getTruckTypeById(String TruckTypeId);

    TruckPlate getTruckPlateById(String id);

    //通过能源名称检索能源类型
    TruckEnergyType queryTruckEnergyTypeByName(String name);

    //通过车牌名称获取车牌类型
    TruckPlate queryTruckPlateByName(String name);

    TruckEnergyType getTruckEnergyById(String truckEnergyTypeId);
}
